1. The Field of the Invention
The present invention relates to the field of data access technologies. Specifically, the present invention relates to messaging data structures that facilitate access to data in a user or identity-centric manner rather than in an application-centric manner.
2. Background and Related Art
The Internet has revolutionized the way people access information. With the aid of a conventional Internet-enabled computing device, one may obtain information on almost any subject with relatively little effort. Information is so abundant, that our ability to manage such information is often overwhelmed.
However, information is often irrelevant to all but a few. Some information is specific to only a single identity such as a person, group of people or organization. Such information may include, for example, addresses, telephone numbers, contacts, task lists, journals, schedules, grocery lists, music favorites and other preferences.
In order to manage such identity-specific information, a data access model 100 was developed as illustrated in FIG. 1. The data access model 100 include three fundamental components; an identity 110, an application 120, and data 130. The application 120 manages data 130 that the application 120 needs to operate properly. The data 130 typically includes identity-specific data as well as other types of data. During operation, the application 120 typically performs various operations on the data 130 either on its own initiative, or in response to instructions issued by the identity 110 or another program module.
The bi-directional arrow 140 represents a strong logical coupling between the application 120 and the data 130. Although the data 130 may include identity-specific data, the data 130 may be accessed only through the application that manages the data. For example, a Web-based grocery service application may manage a grocery list for an individual, store a residence address for delivery of the groceries, and store credit card information for automatic payment. All of this data is identity-specific. However, the data is accessed only through the Web-based grocery service application. Likewise, a calendar application may maintain schedule information for a given identity. This calendar data is accessed via the calendar application only.
FIG. 2 illustrates this principles by extending the model of FIG. 1 to include multiple application programs, each interacting with their own data. For example, in addition to using application 120, the identity 110 also interfaces with applications 221 through 224. Each application 221 through 224 interacts with their own data 231 through 234, respectively. While there may be considerable redundancy between the data represented by data 130 and 231 through 234, each set of data is maintained and accessed via its own corresponding application.
Although functional, maintaining data on a per-application basis has disadvantages. Namely, if an application is no longer available, the corresponding data is often lost. For example, if an individual wanted to change Web-based grocery services, the individual would typically have to reenter the grocery list and the delivery address to a new Web-based application. Also, suppose a calendar application maintained schedule information in a proprietary format. In order to change from that calendar application, a user may have to reenter the calendar information for the next application.
In addition, since the application maintains the data, the user must access the data via the application. If the application is not mobile, the data is not mobile either, absent efforts to make the data redundant in multiple locations. Making the data redundant between applications often requires user effort to periodically synchronize the data. In addition, between synchronizations, the data sets in the different applications may diverge as the data changes. Sometimes, if the data diverges inconsistently in both applications, user intervention is required to resolve the inconsistencies. Accordingly, if the application is not mobile, the data is not mobile either without expending user effort.
Therefore, what is desired are data structures that allow identities more flexible access to and control over their corresponding identity-specific information regardless of the application.